interconnect/axi: map from one address space to another - #1522
Closed
mkuhn99 wants to merge 1 commit into
Closed
Conversation
… space to another
Contributor
Author
|
Here is a case where one would/could use this function. |
Owner
|
Thanks @mkuhn99, this is indeed interesting and I understand the need. Please just give me some time to think about it. |
Owner
|
This has now been handled with a structured remapping path:
This allows a LiteX-visible decode region to differ from the downstream/external bus address window, for example: self.bus.add_slave(
name = "ps_io",
slave = axi_ps,
region = SoCRegion(origin=0x6000_0000, size=0x0030_0000),
dst_region = SoCRegion(origin=0xe000_0000, size=0x0030_0000),
)So the Zynq/PS-style remapping use case can now be expressed directly at the SoC bus level, without adding an arbitrary address callback to the low-level AXI connect() helper. The existing strip_origin behavior is kept unchanged as the map-to-zero special case. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When trying to connect to the PS axi gp slave to the main Bus of the LiteX SoC I came across the problem that the address space of the zybo PS and the address space/memory map of the Litex SoC are conflicting.
To solve this problem I added the
connect_mappedfunction to the AXIInterface, which applies a function to the address signals before connecting the two interfaces together.Such a function would, for example, add or subtract an offset.